Embodiments relate to databases, and in particular, to methods and systems performing sparse linear algebra in a column-oriented in-memory database.
Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Linear algebra in the context of database systems is a subject of research, as it is a fundamental pillar of analytical algorithms. Matrices and matrix operations are used in a variety of use cases in the science and business world. Among these application fields are: nuclear physics, genome analysis, electrical, mechanical and chemical engineering, economical correlation analysis, machine learning and text mining, and graph algorithms, to mention only a few.
In the era of big data and the data deluge in business and science environments, data replication from database management systems (DBMS) into external linear algebra systems (for instance MATLAB or R), consumes increasing amounts of time and memory. As a consequence, data should only reside in a single system, which for business environments usually is a relational DBMS. However, disk-based DBMS's may exhibit poor performance of random access patterns on large data sets, such as linear algebra operations on very large matrices.
The decrease in Random Access Memory (RAM) prices in recent years has laid the foundation for the shift of the database storage from hard disc into main memory. This trend toward such “in-memory database” technology has resulted in considerable performance gains for analytical queries on large data sets. With the data residing in RAM, it has become worthwhile to investigate how structures and algorithms of numerical libraries can be integrated into the database engine.
Besides the change in database system design due to the emerging hardware trends, the introduction of a column-oriented database design has shown performance advantages on analytical workloads. Such performance stands in contrast to conventional row-oriented approaches.
Accordingly, there is a need for apparatuses and methods for performing sparse linear algebra in column-oriented in-memory database systems.